package com.ctrip.ec.biz.dao.config;
import com.ctrip.ec.dal.DaoBase;
import com.ctrip.ec.biz.entity.config.ConfigEntity;
import com.ctrip.ec.dal.DbAccess;
import org.springframework.stereotype.Service;

import java.sql.SQLException;
import java.sql.Timestamp;
import java.util.HashMap;
import java.util.List;

@Service
public class ConfigDao extends DaoBase<ConfigEntity> {
    public ConfigDao() {
        super(ConfigEntity.class);
    }
    public ConfigDao(DbAccess db) {
        super(ConfigEntity.class,db);
    }


//    private void update(ConfigEntity info, string oldID)
//    {
//        string sql = "update " + this.getTableName() + " set id=@p0, = @p1,Remark=@p2,sort_num=@p3 where id=@p4";
//        Db.RunSql(sql, info.Id, info.ParaValue, info.Remark, info.SortNum, oldID);
//    }

    private static Timestamp lastUpdateTime = new Timestamp(System.currentTimeMillis());

    private static HashMap<String, String> configs;

    private static Object _sync = new Object();

    private static void Load() throws SQLException {
        configs = new HashMap<>();
        ConfigDao dal = new ConfigDao();
        List<ConfigEntity> list = dal.list();
        for (ConfigEntity entity : list)
        {
            //_paras.Add(entity.getName(), entity.getValue());
        }
    }

//    public static string Get(string key)
//    {
//        if (_lastUpdateTime.AddMinutes(1) < DateTime.Now)
//        {
//            lock (_sync)
//            {
//
//                Load();
//            }
//        }
//
//        _lastUpdateTime = DateTime.Now;
//
//
//        if (_paras.ContainsKey(key))
//        {
//            return _paras[key];
//
//        }
//        else
//        {
//            return null;
//        }
//
//    }
//
//    public static Dictionary<string, string> GetAll()
//    {
//        if (_paras == null)
//            Load();
//        return _paras;
//    }
//
//
//    public string GetValue(string key)
//    {
//        return ParaDao.Get(key);
//    }
}